# -*- coding:utf-8 -*-
# title           :
# description     :
# author          :Python超人/三月三提供
# date            :2024-05-01
# link            :https://gitcode.net/pythoncr/
# python_version  :3.9
# ==============================================================================
import re
from 神笔码靓.神笔库.神笔绘图板 import 神笔绘图板
from 神笔码靓.神笔库.定义集 import *
from 神笔码靓.神笔库.配置 import *
from 神笔码靓.神笔库.通用工具集 import *
from 神笔码靓.神笔库 import 类型转换工具集
from dataclasses import dataclass


def 获取元素位置信息(元素):
    print(元素.获取位置信息())


class 神笔绘图板模板(神笔绘图板):
    def 页面设置(self, 设置: 纸张设置):
        # 输出 PDF 文件，以及 页面打印，在这里设置好
        设置.上页边距 = "0cm"
        设置.下页边距 = 0
        设置.左页边距 = "0cm"
        设置.右页边距 = 0
        设置.页面方向 = 纸张方向.自动识别
        设置.页面尺寸规格 = "A4"
        设置.页面缩放 = 1.0

    def 创作(self):
        # 注意：图框不会显示到 PDF 文件中，如果不希望SVG文件显示图框，可以注释或者删除以下代码
        self.显示图框()
        self.显示网格(网格线距=10, 网格颜色=颜色.暗灰色, 网格透明度=1, 网格字体大小=9)

        # elm = self.贴图(x=50, y=50, 图片文件="../资源库/图片/三月三印章.png").缩放(0.25)
        # elm = self.写字(x=272, y=270, 文字="制作从这里开始", 字体大小=60,
        #              # 垂直基线对齐=文字垂直基线对齐.顶线对齐,水平基线对齐=文字水平基线对齐.起始点对齐
        #              垂直基线对齐=文字垂直基线对齐.中线对齐, 水平基线对齐=文字水平基线对齐.中点对齐
        #              ).缩放(0.5)
        # elm = self.画圆(100, 100, 半径=50, 填充颜色="red", 描边颜色=颜色.透明)
        # elm = self.画多边形(顶点列表=[(10, 130), (140, 130), (240, 100), (140, 200), (10, 200)]).缩放(0.5).平移((100,50)).缩放(2)
        # rotate(90 125.0 150.0)

        # _渐变色 = self.样式.创建线性渐变色(开始位置=(100, 100), 结束位置=(200, 200),
        #                        开始颜色="#ff0000", 结束颜色="#00ff00",
        #                        开始偏移=0.13, 结束偏移=0.9,
        #                        )

        # elm =self.画椭圆(x=150, y=180, 半径=(30, 20), 描边颜色=颜色.红色, 填充颜色=_渐变色).平移(100)
        # elm = self.画椭圆(x=150, y=180, 半径=(30, 20), 描边颜色=颜色.红色, 填充颜色=_渐变色)
        # elm = self.创建组合(元素列表=[elm]).显示中心点()
        # elm = self.克隆元素(elm).缩放(1).平移(50).显示中心点()

        # elm = self.画表格(左上起始点=(70, 170), 右下结束点=(180, 150), 列数=4, 行数=5).平移(50).缩放((1,2)).平移((0,-100))
        # elm = self.画矩形(x=100, y=100, 宽=200, 高=100, 描边颜色=颜色.黑色, 圆角半径=10, 描边样式="5,5").缩放(
        #     (0.5, 0.8)).垂直翻转()  # .显示中心点()#.旋转(90)

        # _面部色 = "#fbdaad"  # TODO: 未使用渐变色
        # elm = self.连线([("移动", 412.94, 123.91)], 描边颜色=颜色.黑色, 填充颜色=颜色.透明, id_="头面部",闭合=否).缩放(0.2).\
        #     追加顶点(("曲线", 430.24, 126.95, 462.06, 132.54, 488.51, 158.63)).追加顶点列表([
        #     # ("曲线", 430.24, 126.95, 462.06, 132.54, 488.51, 158.63),
        #     ("曲线", 507.29, 177.15, 514.46, 197.22, 520.17, 213.78),
        #     ("曲线", 525.90, 230.41, 553.17, 309.54, 510.98, 381.27),
        #     ("曲线", 501.35, 397.64, 481.06, 432.13, 441.53, 442.55),
        #     ("曲线", 415.04, 449.53, 392.40, 442.44, 377.19, 437.44),
        #     ("曲线", 318.62, 418.20, 287.08, 369.51, 275.74, 349.61),
        #     ("曲线", 268.59, 332.36, 261.44, 315.11, 254.29, 297.87),
        #     ("曲线", 250.75, 282.57, 246.37, 254.28, 254.63, 220.93),
        #     ("曲线", 258.80, 204.10, 268.14, 164.99, 303.65, 140.25),
        #     ("曲线", 344.40, 111.87, 389.97, 119.88, 412.93, 123.91),
        # ]).平移(100).显示中心点()

        获取元素位置信息(elm)


if __name__ == '__main__':
    # 作品文件路径：保存的 SVG（矢量图）格式的文件路径名称
    # 宽: 神笔绘图板也需要设置页面的宽度
    # 高: 神笔绘图板也需要设置页面的高度
    宽, 高 = 纸张大小.A4_横向(1)
    神笔 = 神笔绘图板模板(作品文件路径="元素位置信息.svg", 宽=宽 / 2, 高=高 / 1.8)
    神笔.完成()
    神笔.生成PDF()
